Ruby on Rails - adding column with default value in ruby on rails - ruby on rails tutorial - rails guides - rails tutorial - ruby rails
Example
- To adds a column adminb> to the users table, and gives that column the default value false.
- Migrations with defaults might take a long time in large tables with for example PostgreSQL.
- This is because each row will have to be updated with the default value for the newly added column. To circumvent this (and reduce downtime during deployments).
- We can split our migration into three steps
- Add a add_column-migration similar to the one above, but set no default
- Deploy and update the column in a rake task or on the console while your app is running. Make sure your application already writes data to that colum for new/updated rows.
- Add another change_column migration, which then changes the default of that column to the desired default value